


#include <stdio.h>
#include <string.h>
#include <stdbool.h>
#include <stdint.h>

#include <iostream>


#include "Person.pb.h"
#include <iostream>

bool Addr_Serialize(protobuf::serialize::Address &proto)
{
    proto.set_num(123);
    proto.set_addr("127.0.0.1");
    return true;
}

bool Person_Serialize(protobuf::serialize::Person &proto)
{
    proto.set_id(456);
    proto.set_sex("male");
    proto.set_age(30);
    return true;
}


int main() 
{

    protobuf::serialize::Address address;
    Addr_Serialize(address);

    protobuf::serialize::Person person;
    Person_Serialize(person);




    


    return 0;

}
    // if (Person_serialize_to_string(&person, data, sizeof(data), &serializedDataSize)) 
    // {
    //     printf("Data has been copied to the byte array.\n");

    //     // 反序列化从字节数组中读取数据
    //     Person newPerson;
    //     if (Person_parse_from_array(&newPerson, data, serializedDataSize)) 
    //     {
    //         printf("Deserialization successful!\n");
    //         printf("ID: %d\n", newPerson.id);
    //         for (int i = 0; i < newPerson.name_count; i++) 
    //         {
    //             printf("Name: %s\n", newPerson.name[i]);
    //         }
    //         printf("Age: %d\n", newPerson.age);
    //     } 
    //     else 
    //     {
    //         fprintf(stderr, "Deserialization failed.\n");
    //     }
    // } 
    // else 
    // {
    //     fprintf(stderr, "Error: Serialized data size exceeds the byte array size.\n");
    // }






